#include<iostream>
#include<signal.h>
#include<cstring>
#include<unistd.h>
using namespace std;

//问题1：pending位图，什么时候从1-》0，执行信号捕捉方法之前，先清0，再调用
// void PrintPending()
// {
//     sigset_t set;
//     sigpending(&set);

//     for(int signo=1;signo<=31;signo++)
//     {
//         if(sigismember(&set,signo)) cout<<"1";
//         else cout<<"0";
//     }
//     cout<<endl;
// }
// void handler(int signo)
// {
//     PrintPending();   //测试Pending位图由1变0是在信号处理前，还是在信号处理后
//     cout<<"catch a signal,signal number: "<<signo<<endl;
// }
// int main()
// {
//     struct sigaction act,oact;
//     memset(&act,0,sizeof(act));
//     memset(&oact,0,sizeof(oact));

//     act.sa_handler=handler;
//     sigaction(2,&act,&oact);

//     while(true)
//     {
//         cout<<"I am a process: "<<getpid()<<endl;
//         sleep(1);
//     }

//     return 0;
// }


//问题2：信号被处理的时候，对应的信号也会被添加到block表中，防止信号捕捉被嵌套调用
int flag=0;
int main()
{
    return 0;
}